Today, online purchase and distribution of software is commonplace. This can be viewed in terms of a purchase-to-usage “chain” that includes different participants: vendors (i.e., ISVs—independent software vendors), purchasers, administrators, and users (e.g., “end users”). The purchase of a particular software package, for example, can be viewed as a process that flows down the chain, from the vendor all the way down to the ultimate end user. The purchase and deployment of software is not a simple linear process, however, but instead includes a number of cycles that occur on an ongoing basis, including installation, provisioning/configuration, updates/bug fixes, and new products purchases, to name a few. The overall process is made more difficult by PC instability; as more software is installed, a typical PC (personal computer) becomes less stable to operate. If a firm's purchase and use of software were confined to a single product from a single vendor, these ongoing cycles would be more or less manageable by the firm (e.g., corporate IT department). Of course purchasers of software, particularly corporate purchasers, are not confined to using a single software product or even a single vendor. Instead, the norm is to purchase and deploy multiple software packages from multiple vendors, and for each software product one may have purchased and deployed multiple versions. The typical firm must manage hundreds of different combinations of vendors and packages (and often different versions and/or configurations thereof).
This scenario is problematic for software customers, particularly large corporations which must manage an ever-increasing morass of different licensing schemes. Not only must a firm track the licenses for software that it has purchased (e.g., what users go with which licenses, and for which products), but the firm must also contend with disparate licensing schemes; licensing terms are not consistent from one product to another, let alone from one vendor to another. The problem has become increasingly unmanageable and the proliferation of product and devices to run those products continues unabated. Many software customers today are finding that the main cost for software is not its purchase price but the costs of all the management tasks (e.g., installation, provisioning, configuring, updating, license tracking, and so forth) associated with the software. The problem is not confined just to corporate IT departments and their administrators, but extends all the way down to end users who must also contend with a number of issues: how to get a software product on one's machine, how to get updates, how to get new or different product, and so forth and so on.